package com.hbyj.util;
/**
 * 用于分页的方法
 * @author lc
 *
 */
public class PageClass {

	public PageClass() {
	}

	private int pageCount; // 总页数

	private int currentPage; // 当前页数

	private int pageShow; // 每页显示的行数

	private int nextIndex; // 下一页数据开始的索引

	private final String hashNext = "hashnext"; // 下一页字符串

	private final String hashUp = "hashup"; // 下一页的字符串

	public int getCurrentPage() {

		return currentPage;
	}

	/**
	 * 如果传递近来的是负数则该页还是第1页
	 * 
	 * @param currentPage
	 */
	public void setCurrentPage(int Page) {
		if (Page < 1) {
			this.currentPage = 1;
		} else if (Page <= this.pageCount) {
			this.currentPage = Page;
		}

		// System.out.println("PageClass currentPage value:" +
		// this.currentPage);

	}

	/**
	 * 获得下一页的起始索引 根据当前的相关信息 下一页的开始索引为 0=1*page-page 0为第一页所显示page条数据的第一行 return int
	 */
	public int getNextIndex() {

		this.nextIndex = (this.currentPage * this.pageShow) - this.pageShow;
		if (this.nextIndex < 0) {
			this.nextIndex = 0;
		}

		return nextIndex;
	}

	/**
	 * 获得共有的页数
	 * 
	 * @return int
	 */
	public int getPageCount() {
		return pageCount;
	}

	/**
	 * 设置分页后的总页数 分页数=总数居行/每页显示行
	 * 
	 * @param pageCount
	 */

	public void setPageCount(int dateCount) {
		int num = dateCount % this.pageShow;
		// System.out.println("PageClass pageShow values:"+this.pageShow);

		if (num == 0) {
			this.pageCount = dateCount / this.pageShow;
		} else {
			// 如果不能被数据的总行数整除说明后面还有数据总页数+1
			this.pageCount = (dateCount / this.pageShow) + 1;
		}
		// System.out.println("pageclass pageCount value:"+this.pageCount);

	}

	/**
	 * 每页显示行数
	 * 
	 * @return Int
	 */
	public int getPageShow() {
		return pageShow;
	}

	/**
	 * 每页显示行数
	 * 
	 * @return int
	 */
	public void setPageShow(int pageShow) {
		this.pageShow = pageShow;
	}

	public String getHashNext() {
		return hashNext;
	}

	public String getHashUp() {
		return hashUp;
	}

}
